package com.cardetective.shopcar.network.model

data class OrderDetailModel(
    val allowOperationVO: DetailAllowOperationVO,
    val deliverStatusValue: Any,
    val deliveryMethodValue: Any,
    val order: OrderDetail,
    val orderItems: List<OrderDetailItem>,
    val orderStatusValue: Any,
    val payStatusValue: Any,
    val paymentMethodValue: Any,
    val priceDetail: Any,
    val receipt: Any
)

data class DetailAllowOperationVO(
    val cancel: Boolean,
    val editConsignee: Boolean,
    val editPrice: Boolean,
    val pay: Boolean,
    val rog: Boolean,
    val ship: Boolean,
    val showLogistics: Boolean,
    val take: Boolean
)

data class OrderDetail(
    val canReturn: Any,
    val cancelReason: Any,
    val clientType: String,
    val completeTime: Any,
    val consigneeAddressIdPath: Any,
    val consigneeAddressPath: Any,
    val consigneeDetail: String,
    val consigneeMobile: String,
    val consigneeName: String,
    val createBy: String,
    val createTime: String,
    val deleteFlag: Boolean,
    val deliverStatus: String,
    val deliveryMethod: String,
    val discountPrice: Int,
    val distributionId: Any,
    val flowPrice: Int,
    val freightPrice: Int,
    val goodsNum: Int,
    val goodsPrice: Int,
    val id: String,
    val logisticsCode: Any,
    val logisticsName: Any,
    val logisticsNo: Any,
    val logisticsTime: Any,
    val memberId: String,
    val memberName: String,
    val needReceipt: Boolean,
    val orderPromotionType: String,
    val orderStatus: String,
    val orderType: String,
    val parentOrderSn: String,
    val payOrderNo: Any,
    val payStatus: String,
    val paymentMethod: Any,
    val paymentTime: Any,
    val priceDetail: String,
    val priceDetailDTO: PriceDetailDTO,
    val promotionId: Any,
    val qrCode: Any,
    val receivableNo: Any,
    val remark: String,
    val sellerRemark: Any,
    val sn: String,
    val storeAddressCenter: Any,
    val storeAddressMobile: Any,
    val storeAddressPath: Any,
    val storeId: String,
    val storeName: String,
    val tradeSn: String,
    val updateBy: Any,
    val updatePrice: Int,
    val updateTime: Any,
    val usePlatformMemberCouponId: Any,
    val useStoreMemberCouponIds: Any,
    val verificationCode: Any,
    val weight: Int
)

data class OrderDetailItem(
    val afterSaleStatus: String,
    val categoryId: String,
    val commentStatus: String,
    val complainId: Any,
    val complainStatus: String,
    val createBy: String,
    val createTime: String,
    val deleteFlag: Boolean,
    val deliverNumber: Int,
    val flowPrice: Int,
    val goodsId: String,
    val goodsName: String,
    val goodsPrice: Int,
    val id: String,
    val image: String,
    val isRefund: String,
    val num: Int,
    val orderSn: String,
    val priceDetail: String,
    val priceDetailDTO: PriceDetailDTOX,
    val promotionId: Any,
    val promotionType: Any,
    val refundPrice: Int,
    val returnGoodsNumber: Int,
    val skuId: String,
    val sn: String,
    val snapshotId: Any,
    val specs: String,
    val subTotal: Int,
    val tradeSn: String,
    val unitPrice: Int,
    val updateBy: String,
    val updateTime: String
)

data class PriceDetailDTO(
    val billPrice: Int,
    val couponPrice: Int,
    val discountPrice: Int,
    val discountPriceDetail: List<Any>,
    val distributionCommission: Int,
    val flowPrice: Int,
    val freightPrice: Int,
    val goodsPrice: Int,
    val joinPromotion: List<Any>,
    val originalPrice: Int,
    val payPoint: Int,
    val platFormCommission: Int,
    val platFormCommissionPoint: Int,
    val settlementPrice: Int,
    val siteCouponCommission: Int,
    val siteCouponPoint: Int,
    val siteCouponPrice: Int,
    val updatePrice: Int
)

data class PriceDetailDTOX(
    val billPrice: Double,
    val couponPrice: Int,
    val discountPrice: Int,
    val discountPriceDetail: List<Any>,
    val distributionCommission: Int,
    val flowPrice: Int,
    val freightPrice: Int,
    val goodsPrice: Int,
    val joinPromotion: List<Any>,
    val originalPrice: Int,
    val payPoint: Int,
    val platFormCommission: Double,
    val platFormCommissionPoint: Int,
    val settlementPrice: Int,
    val siteCouponCommission: Int,
    val siteCouponPoint: Int,
    val siteCouponPrice: Int,
    val updatePrice: Int
)